Summary of the Start Manager
Pascal Summary
Data Types
TYPE
DefStartType = (slotDev, scsiDev);
DefStartRec =
RECORD
CASE DefStartType OF
slotDev:
sdExtDevID: SignedByte; {external device ID}
sdPartition:SignedByte; {reserved}
sdSlotNum: SignedByte; {slot number}
sdSRsrcID: SignedByte; {SResourceID}
scsiDev:
sdReserved1:SignedByte; {reserved}
sdReserved2:SignedByte; {reserved}
sdRefNum: Integer {driver reference number}
END;
DefStartPtr = ^DefStartRec; {pointer to a start definition record}
DefVideoRec =
RECORD
sdSlot: SignedByte; {slot number}
sdsResource:SignedByte; {SResourceID}
END;
DefVideoPtr = ^DefVideoRec; {pointer to a video definition record}
DefOSRec =
RECORD
sdReserved: SignedByte; {reserved--should be 0}
sdOSType: SignedByte; {operating-system type}
END;
DefOSPtr = ^DefOSRec; {pointer to a default Operating System Record}
Routines
Identifying and Setting the Default Startup Device
PROCEDURE GetDefaultStartup (paramBlock: DefStartPtr);
PROCEDURE SetDefaultStartup (paramBlock: DefStartPtr);
Identifying and Setting the Default Video Device
PROCEDURE GetVideoDefault (paramBlock: DefVideoPtr);
PROCEDURE SetVideoDefault (paramBlock: DefVideoPtr);
Identifying and Setting the Default Operating System
PROCEDURE GetOSDefault (paramBlock: DefOSPtr);
PROCEDURE SetOSDefault (paramBlock: DefOSPtr);
Getting and Setting the Timeout Interval
PROCEDURE GetTimeout (VAR count: Integer);
PROCEDURE SetTimeout (count: Integer);
C Summary
Data Types
struct SlotDev {
char sdExtDevId; /*external device ID*/
char sdPartition; /*reserved*/
char sdSlotNum; /*slot number*/
char sdSRsrcID; /*SResourceID*/
};
typedef struct SlotDev SlotDev;
struct SCSIDev {
char sdReserved1; /*reserved*/
char sdReserved2; /*reserved*/
short sdRefNum; /*driver reference number*/
};
typedef struct SCSIDev SCSIDev;
union DefStartRec {
SlotDev slotDev;
SCSIDev scsiDev;
};
typedef union DefStartRec DefStartRec;
typedef DefStartRec *DefStartPtr;
struct DefVideoRec {
char sdSlot; /*slot number*/
char sdsResource; /*SResourceID*/
};
typedef struct DefVideoRec DefVideoRec;
typedef DefVideoRec *DefVideoPtr;
struct DefOSRec {
char sdReserved; /*reserved --should be 0*/
char sdOSType; /*operating-system type*/
};
typedef struct DefOSRec DefOSRec;
typedef DefOSRec *DefOSPtr;
Routines
Identifying and Setting the Default Startup Device
pascal void GetDefaultStartup (DefStartPtr paramBlock);
pascal void SetDefaultStartup (DefStartPtr paramBlock);
Identifying and Setting the Default Video Device
pascal void GetVideoDefault (DefVideoPtr paramBlock);
pascal void SetVideoDefault (DefVideoPtr paramBlock);
Identifying and Setting the Default Operating System
pascal void GetOSDefault (DefOSPtr paramBlock);
pascal void SetOSDefault (DefOSPtr paramBlock);
Getting and Setting the Timeout Interval
pascal void GetTimeout (short *count);
pascal void SetTimeout (short count);
Assembly-Language Summary
Data Structures
Default Startup Device Data Structure
0 | sdExtDevID | byte | external device ID |
1 | sdPartition | byte | reserved |
2 | sdSlotNum | byte | slot number |
3 | sdSRsrcID | byte | slot resource ID |
| | | |
0 | sdReserved1 | byte | reserved |
1 | sdReserved2 | byte | reserved |
2 | sdRefNum | word | driver reference number |
Default Video Device Data Structure
0 | sdSlot | byte | slot number |
1 | sdSResource | byte | slot resource ID |
Default Operating System Data Structure
0 | sdReserved | byte | reserved |
1 | sdOSType | byte | operating-system type |
Trap Macros
Trap Macros Requiring Register Setup
Trap macro name | Registers on entry | Registers on exit |
---|
_GetDefaultStartup | A0: address of default video device parameter block | A0: address of default startup device parameter block |
_SetDefaultStartup | A0: address of default video device parameter block | A0: address of default startup device parameter block |
_GetVideoDefault | A0: address of default video device parameter block | A0: address of default video device parameter block |
_SetVideoDefault | A0: address of default video device parameter block | A0: address of default video device parameter block |
_GetDefaultOS | A0: address of default operating system parameter block | A0: address of default operating system parameter block |
_SetDefaultOS | A0: address of default operating system parameter block | A0: address of default operating system parameter block |
_GetTimeout | | D0: count (word) |
_SetTimeout | D0: count (word) | |
Trap Macros Requiring Routine Selectors
_InternalWait
Selector | Routine |
---|
$0000 | GetTimeout |
$0001 | SetTimeout |
Global Variables
TimeDBRA | The number of times the DBRA instruction is executed per millisecond. |
TimeSCCDB | The number of times the SCC is accessed per millisecond. |
TimeSCSIDB | The number of times the SCSI is accessed per millisecond. |